<?php

/**
 * Articulo form.
 *
 * @package    catalogo
 * @subpackage form
 * @author     idirocco
 * @version    SVN: $Id: sfDoctrineFormTemplate.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class ArticuloForm extends BaseArticuloForm
{
  public function configure()
  {    
    unset(
      $this['created_at'], $this['updated_at'], $this['destacado'], $this['publicado'], $this['usuario_id'], 
      $this['visitas'], $this['orden'], $this['token']
    );
    
    $this->widgetSchema->setHelp('titulo', 'Escriba un título claro y representativo por favor.');
//    $this->widgetSchema->setHelp('precio', 'Expresado en PESOS ARGENTINOS por favor.');
    $this->widgetSchema['titulo'] = new sfWidgetFormInputText(
        array('label'=>'Título'),
        array('style'=>'width:400px;'));	
	
    $this->widgetSchema['categoria_id'] = new sfWidgetFormDoctrineChoice (
                array(
                    'label'=>'Categoría',
										'model'=>'Categoria', 
										'add_empty'=>'Selecciona una categoría'));
    
    $this->widgetSchema['tipo_id'] = new sfWidgetFormDoctrineChoice (array(
										'model'     => 'TipoArticulo',
                    'multiple'  => false,
                    'expanded'  => true));
                    
    $this->widgetSchema['moneda'] = new sfWidgetFormChoice (array(
                    'choices' => sfconfig::get('app_monedas'),
                    'multiple'  => false,
                    'expanded'  => false));                                        
    
    $this->widgetSchema['descripcion'] = new sfWidgetFormTextarea(
            array('label'=>'Descripción'), 
            array('rows' => 10, 'style'=>'width:400px;'));
    
    
    $this->widgetSchema['forma_pago_id'] = new sfWidgetFormDoctrineChoice (array(
                    'label'     => 'Forma de pago',
                    'model'     => 'FormaPago',
                    'multiple'  => false,
                    'expanded'  => true));                    
    
    $this->widgetSchema['ubicacion_id'] = new sfWidgetFormDoctrineChoice (array(
                    'label'=>'Ubicación',
										'model'=>'Ubicacion', 
										'add_empty'=>'Selecciona una ubicación'));
     
    $this->validatorSchema['categoria_id'] = new sfValidatorString(array(
				'required' => true));
    
    $this->validatorSchema['tipo_id'] = new sfValidatorString(array(
				'required' => true));
    
    $this->validatorSchema['ubicacion_id'] = new sfValidatorString(array(
				'required' => true));
    
    $this->validatorSchema['precio'] = new sfValidatorNumber(array(), array(
				'invalid' => '"%value%" no es un número.'));
    
    $this->validatorSchema['titulo'] = new sfValidatorString(array(
				'min_length' => 5, 
				'max_length' => 150), array(
				'min_length' => 'Este campo es muy corto. (5 caracteres min)', 
				'max_length' => 'Este campo es muy largo. (150 caracteres max)'));
    
    $this->validatorSchema['descripcion'] = new sfValidatorString(array(
				'min_length' => 5, 
				'max_length' => 1000), array(
				'min_length' => 'Este campo es muy corto. (5 caracteres min)', 
				'max_length' => 'Este campo es muy largo. (1000 caracteres max)'));
    
     $this->validatorSchema['forma_pago_id'] = new sfValidatorString(array(
        'required' => true)); 
        
    $subForm = new sfForm();
    $fotos = $this->getObject()->getPhotos();
    for ($i = 1; $i <= sfConfig::get('app_fotos_x_art'); $i++)
    {
    	if ($fotos[$i-1]){
    	  $fotoArticulo = $fotos[$i-1]; //si edita asocia las fotos anteriores
    	}

      $fotoArticulo->Articulo = $this->getObject();
 
      $form = new FotoArticuloForm($fotoArticulo);
 
      $subForm->embedForm("foto".$i, $form);
    }
    $this->embedForm('fotos', $subForm);
  }
}
